#include<bits/stdc++.h>
using namespace std;

struct pairs
{
    int s,e,num;
};

bool cmp(pairs x, pairs y)
{
    return x.e<y.e||(x.e==y.e&&x.num<y.num);
}

int main()
{
    freopen("color.in","r",stdin);
    freopen("color.out","w",stdout);
    int T; cin>>T;
    while(T--)
    {
        int n; cin>>n;
        vector<pairs>v;
        int f[1000005]={0};
        for(int i=1; i<=n; i++)
        {
            int a; cin>>a;
            if(f[a]!=0)
            {
                pairs p;
                p.s=f[a],p.e=i,p.num=a;
                v.push_back(p);
            }
            f[a]=i;
        }
        sort(v.begin(),v.end(),cmp);
        if(v.size()==0)
        {
            cout<<0<<endl;
            continue;
        }
        long long dp[v.size()];
        long long ans=0;
        for(int i=0; i<v.size(); i++)
        {
            dp[i]=v[i].num;
            for(int j=0; j<i; j++)
                if(v[j].e<v[i].s||v[j].e==v[i].s+1||(v[j].s>v[i].s&&v[j].s+1==v[j].e))
                    dp[i]=max(dp[i],dp[j]+v[i].num);
            //cout<<dp[i]<<' ';
            ans=max(ans,dp[i]);
        }
        cout<<ans<<endl;
    }
    return 0;
}
